package com.aishua.fire.service;

import java.util.List;

import com.aishua.fire.entity.addressBook.AddressBookInfo;
import com.aishua.fire.entity.organization.AddOrganizationInfo;
import com.aishua.fire.entity.organization.AddRoleInfo;
import com.aishua.fire.entity.organization.DeleteUserToOrganizationInfo;
import com.aishua.fire.entity.organization.OrganizationInfo;
import com.aishua.fire.entity.organization.OrganizationPostInfo;
import com.aishua.fire.entity.organization.UserToOrganizationInfo;
import com.aishua.fire.entity.selectrole.SelectAddressBean;
import com.aishua.fire.entity.selectrole.SelectRoleBean;

public interface OrganizationService {

	/**
	 * 保存数据
	 * @param info
	 */
	public boolean save(AddOrganizationInfo info);

	/**
	 * 修改部门信息
	 * @param info
	 */
	public void update(AddOrganizationInfo info);

	/**
	 * 组织结构管理_删除部门信息
	 * @param id
	 */
	public void delete(String id);

	/**
	 * 组织结构管理_查询当前组织结构下所有员工
	 * @param id
	 */
	public List<AddressBookInfo> selectAddressBookInfoList(String id, String type);

	/**
	 * 组织结构管理_查询部门信息列表
	 * @param s_name
	 * @param username
	 * @param userphone
	 */
	public List<OrganizationInfo> select(String id);

	/**
	 * 组织结构管理_新增岗位信息
	 * @param info
	 */
	public void savePost(OrganizationPostInfo info);

	/**
	 * 组织结构管理_添加当前通讯中某位员工
	 * @param info
	 */
	public void saveUserToOrganization(UserToOrganizationInfo info);

	/**
	 * 组织结构管理_移除当前组织结构下某位员工
	 * @param info
	 */
	public void deleteUserToOrganization(DeleteUserToOrganizationInfo info);

	/**
	 * 组织结构管理_查询不属于当前节点的通讯录列表
	 * @param id
	 * @return
	 */
	public List<AddressBookInfo> selectUserIsNotInOrganization(String id);

	/**
	 * 组织结构管理_部门管理_新增角色信息
	 * @param info
	 * @return
	 */
    public boolean addRole(AddRoleInfo info);

    /**
     * 组织结构管理_部门管理_根据部门节点查询角色列表信息
     * @param o_id
     * @return
     */
    public List<AddRoleInfo> selectRole(String o_id);

    /**
     * 部门组织角色下拉框
     * @return
     */
    public List<SelectRoleBean> roleSelect(String o_id);

    /**
     * 职责组织通讯录树形结构
     * @param o_id
     * @return
     */
    public List<SelectRoleBean> addressBookSelect(String o_id);

    /** 根据用户id查询角色id*/
	public List<String> getr_idWitha_id(String user_id);
	
}
